package one_06_array;

import java.util.Arrays;

public class ArrayDemo06 {
    public static void main(String[] args) {
        // 1、打印数组
        int[] arr = {1,2,6,3,7,2,9};
        System.out.println(arr); // [I@7c30a502
        System.out.println(Arrays.toString(arr)); // [1, 2, 6, 3, 7, 2, 9]

        // 2、数组排序
        // 对指定的 int 型数组按数字升序进行排序
        Arrays.sort(arr);
        System.out.println(Arrays.toString(arr));

        // 3、二分法查找
        // 在数组中查找指定元素并返回其下标
        // 注意：使用二分搜索法来搜索指定的数组，以获得指定的值。必须在进行此调用之前对数组进行排序(通过sort方法等)。如果没有对数组进行排序，则结果是不确定的。
        // 如果数组包含多个带有指定值的元素，则无法保证找到的是哪一个。
        System.out.println("该元素的索引："+Arrays.binarySearch(arr, 12));

        // 4、元素填充
        int[] a = {1,2,323,23,543,12,59};
        Arrays.sort(a); //使用二分法查找，必须先对数组进行排序
        Arrays.fill(a, 2, 4, 100); //将2到4索引的元素替换为100
        System.out.println(Arrays.toString(a));
    }
}
